home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / AppMaker 2.0b3 / Demo AppMaker 1.5 / Demo AppMaker™ / Demo AppMaker™.rsrc / TmPT_1017_CPane < prev    next >
Encoding:
Text File  |  1992-04-08  |  2.3 KB  |  97 lines

  1. %case uses%
  2. %case instance%
  3.     %itemname%:%    %%classname%;
  4. %case zAuxiliaryMethod.decl%
  5.     %if classname = CPane%
  6.         Function  New%itemname%: %classname%;
  7.     %endif%
  8. %case zAuxiliaryMethod%
  9.     %if classname = CPane%
  10.         {----------}
  11.         { The only purpose of this function is so that you can override it}
  12.         { to create the user item as your subclass of %classname%}
  13.     
  14.         %if window%
  15.             Function  Z%windname%.New%itemname%: %classname%;
  16.         %else%
  17.             Function  Z%dlogname%.New%itemname%: %classname%;
  18.         %endif%
  19.         var
  20.             pane:            %classname%;
  21.         Begin
  22.             New (pane);
  23.             New%itemname% := pane;
  24.         End; {New%itemname%}
  25.     
  26.     %endif%
  27. %case auxiliaryClass%
  28.     %if classname = CPane%
  29.         type
  30.             C%itemname%%    %= object (%classname%)
  31.                 Procedure IViewTemp        (anEnclosure:    CView;
  32.                                          aSupervisor:    CBureaucrat;
  33.                                          viewData:        Ptr);    override;
  34.                 Procedure Draw            (var area:        Rect);    override;
  35.             end; {C%itemname%}
  36.     
  37.     %endif%
  38. %case auxiliaryMethod.decl%
  39.     %if classname = CPane%
  40.         Function  New%itemname%: %classname%;    override;
  41.     %endif%
  42. %case auxiliaryMethod%
  43.     %if classname = CPane%
  44.         {----------}
  45.         Procedure C%itemname%.IViewTemp        (anEnclosure:    CView;
  46.                                              aSupervisor:    CBureaucrat;
  47.                                              viewData:        Ptr);
  48.         Begin
  49.             inherited IViewTemp (anEnclosure, aSupervisor, viewData);
  50.         
  51.             {any additional initialization for your subclass}
  52.         
  53.         End; {IViewTemp}
  54.     
  55.         {----------}
  56.         Procedure C%itemname%.Draw        (var area:        Rect);
  57.         var
  58.             theFrame:    Rect;
  59.             savePen:    PenState;
  60.         Begin
  61.             {replace with your own code which draws the pane}
  62.             {note that 'area' is usually ignored; it has no relationship}
  63.             {to the size of the pane; it merely indicates what portion}
  64.             {(in QuickDraw coordinates) of the pane needs to be drawn}
  65.                     
  66.             GetPenState (savePen);
  67.             PenNormal;
  68.             FrameToQDR (frame, theFrame);
  69.     
  70.             SetPenState (savePen);
  71.         End; {Draw}
  72.     
  73.         {----------}
  74.         { This overrides the parent's New%itemname% to create a subclass of %classname%}
  75.         
  76.         %if window%
  77.             Function  C%windname%.New%itemname%: %classname%;
  78.         %else%
  79.             Function  C%dlogname%.New%itemname%: %classname%;
  80.         %endif%
  81.         var
  82.             pane:            C%itemname%;
  83.         Begin
  84.             New (pane);
  85.             New%itemname% := pane;
  86.         End; {New%itemname%}
  87.     
  88.     %endif%
  89. %case create%
  90.     
  91.     %if classname = CPane%
  92.         %itemname% := New%itemname%;
  93.     %else%
  94.         New (%itemname%);
  95.     %endif%
  96.     %itemname%.IViewRes ('%panetype%', %paneID%, %enclosure%, supervisor);
  97.